package com.gxuwz.dao;

import com.gxuwz.entity.Department;
import com.gxuwz.entity.vo.PageVo;
import com.gxuwz.result.PageInfo;

import java.util.List;

/**
 * @Description:实现二级学院相关记录信息操作接口
 */

public interface DepartmentDao {

    /**
     * @Description:查询所有的二级学院记录信息
     * @Param:  [com.gxuwz.entity.Department, com.gxuwz.result.PageInfo]
     * @Return: com.gxuwz.entity.vo.PageVo
     */

    public PageVo selectDepartmentAll(Department entity, PageInfo pageInfo);

    /**
     * @Description:通过二级学院编号，查询二级学院记录信息
     * @Param:  [java.lang.String]
     * @Return: com.gxuwz.entity.Department
     */

    public Department selectDepartmentByID(String depId);

    /**
     * @Description:插入一条二级学院信息记录
     * @Param:  [com.gxuwz.entity.Department]
     * @Return: int
     */

    public int insertDepartment(Department entity);

    /**
     * @Description:通过二级学院编号，更新二级学院信息记录
     * @Param:  [com.gxuwz.entity.Department, java.lang.String]
     * @Return: int
     */

    public int updateDepartment(Department entity,String oldId);

    /**
     * @Description:通过二级学院编号，删除一条二级学院信息记录
     * @Param:  [java.lang.String]
     * @Return: int
     */

    public int deleteDepartmentById(String depId);

    /**
     * @Description:查询所有的二级学院编号
     * @Param:  []
     * @Return: java.util.List<java.lang.String>
     */

    List<String> selectDepartmentIds();

    /**
     * @Description:查询所有的二级学院编号和二级学院名称
     * @Param:  []
     * @Return: java.util.List<com.gxuwz.entity.Department>
     */

    List<Department> selectDepartmentIDAndName();
}
